.\"Created with GNOME Manpages Editor
.\"http://sourceforge.net/projects/gmanedit2
.\"Author Andrey Stepashov <Andrey.Stepashov@gmail.com>

.TH <hgtui> x "<май 2012>" "" "HG textual user interface"

.SH НАИМЕНОВАНИЕ
hgtui \- Псевдографический интерфейс к SCM Mercurial

.SH СИНТАКСИС
.B hgtui
.br

.SH КЛЮЧИ
Нет

.SH ОПИСАНИЕ
Что такое \fBhgtui\fP

\fBhgtui\fP - это программа, предназначенная для просмотра содержимого каталогов репозитория SCM Mercurial и выполнение основных функций управления им.





.SH "  Дерево рабочей директории"
.SH "    Описание"
Панель предназначена для отображения всех папок и файлов, находящихся в репозитории, а также их статуса. Основные возможности панели: 
.IP
.br
1) Осуществление навигации по дереву каталогов и файлов с помощью клавиш UP, DOWN, LEFT, RIGHT, HOME, END 
.br
2) Открытие/закрытие каталога с помощью клавиши ENTER 
.br
3) Выделение с помощью клавиши INSERT файлов и каталогов (выделяются все файлы в каталоге) 
.br
4) Снятие всех выделений с помощью клавиши F7 
.br
5) Осуществление функции commit с помощью клавиши F5 
.br
6) Отображение статуса файлов 
.br
7) Установка фильтра по статусам файлов с помощью клавиши F4 
.br
8) Сброс фильтра с помощью клавиши F6 
.br
9) Осуществляется подсветка разными цветами файлов с разными статусами 
.br

.PP
Настройки фильтра автоматически сохраняются. 

.SH "    Использование"
При запуске программы происходит считывание настроек фильтра из файла каталог репозитория + /.hg/hgtui.xml или в ~/.hgtui.xml. Настроить фильтр можно при нажатии клавиши F4. Существуют следующие статусы файлов: 
.IP
.br
1) modified (M) 
.br
2) added (A) 
.br
3) removed (R) 
.br
4) deleted (!) 
.br
5) unknown (?) 
.br
6) ignored (I) 
.br
7) clean (C) 
.br

.PP
При сбросе фильтра (F6) по умолчанию не отображаются только игнорируемые файлы. Настройки сохраняются автоматически. Навигация по файлам осуществляется аналогично большинству файловых менеджеров. Пустые папки не отображаются, каталоги изначально находятся в развернутом положении. Выделенные файлы (с помощью клавиши insert) можно закоммитить с помощью клавиши F5. 




.SH "  Панели наборов входящих/исходящих изменений"
.SH "    Описание"
Панели предназначены для отображения отличий в списке ревизий локального и удалённого репозиториев, при этом в первой панели выводятся ревизии, которые добавлены в удалённый репозиторий (существующие только в удаленном репозитории), а во второй - добавленные в локальный репозиторий (существующие только в локальном репозитории). Другими словами, эти панели - аналог команд hg in и hg out. 

.SH "    Использование"
Для того, чтобы воспользоваться этими панелями достаточно нажать F9 в главном окне программы. Если репозиторий требует авторизации и логин-пароль не прописаны в hgrc, то они будут запрошены. 





.SH "  Командная строка"
.SH "    Описание"
Командная строка предназначена для выполнения действий с репозиторием, которые не предусмотрены или пока не реализованы в другой части программы. В большой степени командная строка дублирует CLI-интерфейс к Mercurial (то есть программу hg). При этом для выполнения команд Mercurial не требуется выходить из hgtui. Дополнительные возможности:  
.IP
.br
1) Возможность опускать префикс "hg" (то есть вместо команд, набранных в интерпретаторе командной строки "hg log -l2", "hg help", "hg commit" достаточно набрать только "log -l2", "help", "commit") 
.br
2) Выбор текущей директории (относительно которой задаётся путь файла) согласно позиции курсора в панели рабочей директории 
.br
3) Возможность подстановки в команду путей к файлам, выбранным в панели рабочей директории 
.br
4) "/" в начале имени файла-аргумента команды считается корнем репозитория, а не корнем файловой системы 
.br

.SH "    Использование"
Командная строка вызывается по Ctrl-O с любого из экранов программы. Команда вводится после приглашения командной строки, затем нажимается "enter". При указании файлов-аргументов используется относительный путь относительно директории, в которой находится курсор в панели директории. При указании абсолютного пути (с "/" в начале) используется путь относительно корня директории. Вместо $@ в команде подставляется список выбранных файлов в панели рабочей директории (с помощью Insert). 





.SH "  Запрос пароля"
.SH "    Описание"
В некоторых случаях для операций с удалённым репозиторием может потребоваться авторизоваться. Если вся авторизационная информация не прописана в файле hgrc, то mercurial попросит ввести логин и пароль. Если это случиться, то hgtui выведет модальное псевдоокно с соответствующим запросом. 

.SH "    Использование"
Чтобы использовать не требуется ничего специально делать, псевдоокно с запросом появится, если mercurial захочет что либо запросить. 





.SH "  Команды pull/push"
.SH "    Описание"
Команды полностью аналогичны командам hg pull и hg push, за исключением того, что для них назначены горячие клавиши и они обновляют панели входящих/исходящий ревизий. 

.SH "    Использование"
На команды назначены горячие клавиши F2 и F3 соответственно, которые работают из любого окна приложения. 





.SH "  Команды hg update/revert"
.SH "    Описание"
Команды update и revert выполняют соответсвенно обновление состояния репозитория до указанной ревизии, либо откат определённых файлов до определённой ревизии.

.SH "    Использование"
Для выполнения revert следует выбрать нужные файлы в рабочей директории (с помощью Insert), а затем выбрать ревизию в панели ревизий. После чего нажать F7 и подтвердить операцию. Для выполнения update достаточно выбрать ревизию, поскольку обновляется весь репозиторий. Чтобы панель ревизий показывала все ревизии, а не только для выбранных файлов, необходимо установить соответствующую опцию в фильтре ревизий.





.SH "  Команда hg rollback"
.SH "    Описание"
Команда rollback откатывает последнюю транзакцию над репозиторием. 

.SH "    Использование"
Ctrl-B на любом из экранов программы. 




.SH "  Команда hg tag"
.SH "    Описание"
Данная команда позволяет тегировать указанную ревизию локально (в пределах локального репозитория) или глобально (тег распространяется и на удалённые репозитории).
Выполнение данной команды реализовано с помощью модального окна, которое может быть вызвано из панели ревизий нажатием горячей клавиши F6. В данном окне имеется возможность ввести номер ревизии (по умолчанию стоит номер ревизии, на которую указывал курсор при нажатии горячей клавиши), однострочный тег и указать признак локальности тега. По нажатию кнопки в окне ОК или Enter, при курсоре расположенном не на кнопках или чекбоксе, производится тегирование ревизии, если исходные данные были заданы правильно. По нажатию кнопки Cancel в окне или Esc окно закрывается и тегирование не производится. Признак тегирования изменяется с помощью Space, при курсоре расположенном на чекбоксе Local.
При внесении глобального тега, пользователь должен сам произвести последующий коммит.
На данный момент не реализовано предупреждение пользователя о вводе неверных данных. 

.SH "    Использование"
Для тегирования ревизии необходимо в панели ревизий выбрать нужную ревизию и нажать клавишу F6, после чего откроется модальное окно. В данном модальном окне возможно поменять номер ревизии (поле Revision), тег (поле Tag) и признак локальности (чекбокс Local). Навигация по полям, чекбоксу, а также кнопкам осуществляется клавишей Tab. Изменение состояния чекбокса Local осуществляется клавишей Space. После введения номера ревизии (целое неотрицательное число), тега (строка) и указания локальности необходимо нажать клавишу Enter при курсоре, не находящемся на кнопке Cancel, для подтверждения тегирования или клавишу Esc (или Enter при курсоре, находящемся на кнопке Cancel) для отказа от тегирования.
Необходимо помнить, что данная реализация подразумевает произведение коммита пользователем самостоятельно при внесении глобального тега. 






.SH "  Предсказание конфликтов"
.SH "    Описание"
Как известно, при наличии и локальных, и удалённых изменений в одних и тех же файлах могут возникнуть конфликты при автоматическом слиянии этих изменений. На панели конфликтов выводится список файлов, в которых возникнут конфликты после скачивания удалённых изменений и попытки автоматическое слияние. 

.SH "    Использование"
Для того, чтобы воспользоваться этой панелью достаточно нажать F9 в главном окне программы. Если репозиторий требует авторизации и логин-пароль не прописаны в hgrc, то они будут запрошены. 





.SH "  Визуальный diff"
.SH "    Описание"
Для отображения изменений в файле предназначено окно diff. Оно из двух панелей: слева исходная версия файла, справа - изменённая. Между панелями находится полоса отображения изменений, состоящая из двух колонок, каждая из которых относится с своему файлу. Она может быть 3 цветов: красной, когда строка удалена из исходного файла (может быть только в левой колонке), зеленой, когда строка добавлена в файл (может быть только в правой колонке), и синей, когда строка изменена. Если строка изменена (синяя), то в левой и правой панелях будет отмечено место изменения с теми же цветовыми обозначениями: красным отмечены удаленные фрагменты строки, зеленым - добавленные, синим - изменённые. 

.SH "    Использование"
На данный момент вызов окна diff реализован для двух вариантов: просмотр изменений, сделанных в рабочей копии, и изменения, сделанные в заданной ревизии.
Для просмотра изменений в рабочей копии нужно выбрать файл курсором в панели рабочей директории и нажать F12.
Для просмотра изменений в ревизии нужно выбрать файл в панели рабочей директории, нажав Enter или выделив с помощью Ins (в этом случае должен быть выделен только один файл), перейти в правую панель со списком ревизий, выбрать интересующую ревизию и нажать F12.
Выход из окна diff осуществляется по Esc или F12. 





.SH "  Сохраняемые настройки"
.SH "    Описание"
У программы имеется ряд настроек, которые требуется сохранять между запусками. 

.SH "    Использование"
Использование происходит неявно при пользовании программой. 





.SH ЛИЦЕНЗИЯ
GNU GPL v3

.SH ОБНОВЛЕНИЕ ВЕРСИИЙ
Последние версии программы \fBhgtui\fP можно найти на сайте http://code.google.com/p/hgtui/

.SH АВТОРЫ
Данное приложение разрабатывает в рамках курса "Технологии разработки ПО" кафедры КСПТ СПБГПУ командой студентов 5 курса (Team3):
  Андрей Галибин - менеджер
  Андрей Степашов
  Кирилл Гагарский
  Максим Петров
  Артем Никонов 
  Павел Глухов 

.SH НЕДОРАБОТКИ (BAGS)
См. http://code.google.com/p/hgtui/issues/list

.SH "SEE ALSO"
hg(1)
